1. Field of the Invention
This invention relates to the field of data processing systems. More particularly, this invention relates to data processing systems supporting program instructions tailored to high data throughput requirements.
2. Description of the Prior Art
It is known within data processing systems to perform data processing operations which require a high data throughput and the manipulation of large amounts of data. An example of such manipulations are Viterbi algorithm calculations commonly used when transmitting data over a noisy communication channel. While these techniques can be highly successful in resisting data loss arising due to noise on the channel, they bring with them a high computational load. These high levels of computation present a significant challenge in producing low overhead (in terms of size, cost and energy consumption) systems capable of performing the required processing.
One particular challenge within Viterbi decoding is that the trellis traceback algorithm requires access to a two-dimensional array of data values with one dimension of the array being stepped through at a constant rate and the other dimension being accessed “randomly” depending upon the current state of the decoder.
Known software Viterbi implementations (e.g. C54x) implement these requirements by using one instruction to step through the dimension which changes at a constant rate and another instruction to apply the value for the randomly accessed dimension when seeking to form the composite address for accessing the two-dimensional array.